/*!
 * Vitality v1.3.5 (http://themes.startbootstrap.com/vitality-v1.3.5)
 * Copyright 2013-2015 Start Bootstrap Themes
 * To use this theme you must have a license purchased at WrapBootstrap (https://wrapbootstrap.com)
 */
html,
body {
  height: 100%;
}
.img-centered {
  margin: 0 auto;
}
.content-row {
  margin-top: 30px;
}
section {
  padding:70px 0;
}
.bg-gray {
  background-color: #f5f5f5;
}
.bg-dark {
  color: white;
  background-color: #222222;
}
@media (max-width: 767px) {
  section {
    padding: 75px 0;
  }
}
.owl-theme .owl-controls .owl-page span {
  background: rgba(34, 34, 34, 0.5);
}
input.form-control {
  border-radius: 0 !important;
}
input.form-control:focus {
  border-color: #41c4ab;
  box-shadow: none;
}
.btn,
.input-group-btn {
  border-radius: 0 !important;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}
.btn-primary {
  color: #ffffff;
  background-color: #41c4ab;
  border-color: #41c4ab;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #ffffff;
  background-color: #38b49c;
  border-color: #35ac95;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
  background-color: #41c4ab;
  border-color: #41c4ab;
}
.btn-primary .badge {
  color: #41c4ab;
  background-color: #ffffff;
}
body {
  font-family: "Open Sans", sans-serif;
  font-size: 22px;
  font-weight: 300;
}
a {
  color: #41c4ab;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}
a:hover,
a:focus {
  color: inherit;
  text-decoration: none;
}
p {
  font-size: 18px;
  line-height: 1.5;
}
p.lead {
  font-family: "Open Sans", sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  font-size: 24px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Open Sans", sans-serif;
  font-weight: 900;
  text-transform: uppercase;
}
@media (min-width: 481px) {
  h1 {
    font-size: 50px;
  }
  h2 {
    font-size: 50px;
  }
}
hr {
  max-width: 100px;
  border-top: 1px solid white;
  border-bottom: 1px solid white;
  height: 2px;
  margin: 15px auto;
}
hr.left {
  margin: 15px auto 15px 0;
}
hr.right {
  margin: 15px 0 15px auto;
}
hr.colored {
  border-color: #ffffff;
}
@media (min-width: 768px) {
  hr {
    max-width: 200px;
    margin: 20px auto;
  }
  hr.left {
    margin: 20px auto 20px 0;
  }
  hr.right {
    margin: 20px 0 20px auto;
  }
}
.text-primary {
  color: #41c4ab;
}
.navbar-fixed-top {
  margin-bottom: 0;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: #000000;
  background-color: white;
  border-radius: 0;
}
.navbar-default {
  background-color: #41c4ab;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: white;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: rgba(255, 255, 255, 0.5);
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: rgba(255, 255, 255, 0.5);
}
.navbar-inverse {
  background-color: #222222;
}
.navbar-default,
.navbar-inverse {
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.navbar-default .navbar-brand,
.navbar-inverse .navbar-brand {
  padding: 0 15px;
  color: white;
  opacity: 1;
  text-decoration: none;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}
.navbar-default .navbar-brand:hover,
.navbar-inverse .navbar-brand:hover,
.navbar-default .navbar-brand:focus,
.navbar-inverse .navbar-brand:focus {
  opacity: 1;
}
.navbar-default .navbar-nav li a,
.navbar-inverse .navbar-nav li a {
  color: white;
}
.navbar-default .navbar-nav li a:hover,
.navbar-inverse .navbar-nav li a:hover {
  color: rgba(255, 255, 255, 0.5);
}
@media (min-width: 768px) {
  .navbar-default .navbar-nav > .active > a,
  .navbar-default .navbar-nav > .active > a:hover,
  .navbar-default .navbar-nav > .active > a:focus,
  .navbar-inverse .navbar-nav > .active > a,
  .navbar-inverse .navbar-nav > .active > a:hover,
  .navbar-inverse .navbar-nav > .active > a:focus {
    border-radius: 10px;
  }
  .navbar-fixed-top.navbar-expanded {
    padding: 30px 0;
  }
  .navbar-fixed-top {
    padding: 15px 0;
    -webkit-transition: padding 0.5s;
    -moz-transition: padding 0.5s;
    transition: padding 0.5s;
  }
  .navbar-fixed-top .navbar-brand:hover {
    opacity: 0.5;
  }
  .navbar-default.navbar-expanded,
  .navbar-inverse.navbar-expanded {
    background: transparent;
    border: none;
  }
}
.navbar a:focus {
  outline: none;
}
.navbar .navbar-nav li a:focus {
  outline: none;
}
header {
  position: relative;
  display: block;
  height: auto;
  width: auto;
  background-color: #222222;
  background: no-repeat center center;
  background-attachment: scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
  padding: 100px 0;
}
header .intro-content {
  color: white;
  text-align: center;
  position: relative;
}
header .brand-name {
  font-family: "Open Sans", sans-serif;
  font-size: 55px;
  line-height: 55px;
  text-transform: uppercase;
  font-weight: 800; /* или 700/900 — что ближе к лого */
  margin-top: 15px;
}
header .brand-name-subtext {
  font-size: 20px;
  line-height: 20px;
  font-weight: 600;
}
header img {
  max-width: 150px;
  max-height: 150px;
}
header .scroll-down {
  position: absolute;
  width: 100%;
  bottom: 20px;
  text-align: center;
}
header .scroll-down .btn {
  height: 50px;
  width: 50px;
  border: 2px solid white;
  border-radius: 100% !important;
  line-height: 50px;
  padding: 0;
  letter-spacing: normal;
  color: white;
  font-size: 30px;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}
header .scroll-down .btn:hover {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.5);
  outline: none;
}
@media (min-width: 768px) {
  header {
    height: 100%;
    width: 100%;
    padding: 0;
    background-attachment: scroll;
  }
  header .intro-content {
    color: white;
    text-align: center;
    width: 50%;
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  header .brand-name {
    font-size: 80px;
    line-height: 80px;
  }
  header .brand-name-subtext {
    font-size: 30px;
    line-height: 30px;
  }
  header img {
    max-width: 300px;
    max-height: 300px;
  }
}
@media (min-width: 1025px) {
  header {
    background-attachment: fixed;
  }
}
header.video .overlay {
  position: absolute;
  height: 100%;
  width: 100%;
  background: #000;
  z-index: 998;
  opacity: 0;
}
header.video .intro-content {
  z-index: 999;
}
header.video .scroll-down {
  z-index: 999;
}
@media (min-width: 768px) {
  header.video .overlay {
    opacity: 0.5;
  }
}
aside.cta-quote {
  color: white;
  background-color: #222222;
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
  padding: 100px 0;
  text-align: center;
}
aside.cta-quote span.quote {
  display: block;
  font-size: 30px;
  line-height: 32px;
  font-weight: 300;
}
@media (min-width: 768px) {
  aside.cta-quote {
    background-attachment: scroll;
    padding: 150px 0;
  }
  aside.cta-quote span.quote {
    font-size: 36px;
    line-height: 38px;
  }
}
@media (min-width: 992px) {
  aside.cta-quote {
    padding: 300px 0;
  }
  aside.cta-quote span.quote {
    font-size: 40px;
    line-height: 42px;
  }
}
@media (min-width: 1025px) {
  aside.cta-quote {
    background-attachment: fixed;
  }
}
.testimonials {
  text-align: center;
}
.testimonials .testimonials-carousel .item {
  padding: 0;
}
.testimonials .testimonials-carousel .item p.quote {
  margin-bottom: 30px;
}
.testimonials .testimonials-carousel .item .testimonial-info {
  margin-bottom: 30px;
}
.testimonials .testimonials-carousel .item .testimonial-info .testimonial-img {
  display: inline-block;
  height: 50px;
  width: 50px;
  margin-right: 10px;
}
.testimonials .testimonials-carousel .item .testimonial-info .testimonial-author {
  display: inline-block;
}
.testimonials .testimonials-carousel .item .testimonial-info .testimonial-author .name {
  font-family: "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 900;
  text-transform: uppercase;
}
.testimonials .testimonials-carousel .item .testimonial-info .testimonial-author hr.colored {
  margin: 3px auto;
  max-width: 50px;
}
.testimonials .testimonials-carousel .item .testimonial-info .testimonial-author p {
  margin: 0;
}
.testimonials .testimonials-carousel .item .testimonial-info .testimonial-author .stars {
  color: #f1c40f;
}
.testimonials .testimonials-carousel .owl-controls {
  margin-top: 0;
}
.testimonials .testimonials-carousel .owl-controls .owl-prev,
.testimonials .testimonials-carousel .owl-controls .owl-next {
  display: none;
  text-align: center;
  position: absolute;
  height: 60px;
  width: 40px;
  border-radius: 0 !important;
  line-height: 50px;
  font-size: 30px !important;
  margin: auto 0 !important;
  top: 0;
  bottom: 0;
  background-color: #41c4ab !important;
  color: white !important;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}
.testimonials .testimonials-carousel .owl-controls .owl-prev:hover,
.testimonials .testimonials-carousel .owl-controls .owl-next:hover {
  opacity: 1;
}
.testimonials .testimonials-carousel .owl-controls .owl-prev {
  left: 15px;
}
.testimonials .testimonials-carousel .owl-controls .owl-next {
  right: 15px;
}
@media (min-width: 768px) {
  .testimonials .testimonials-carousel .item {
    padding: 0 100px;
  }
  .testimonials .testimonials-carousel .owl-controls .owl-prev,
  .testimonials .testimonials-carousel .owl-controls .owl-next {
    display: block;
  }
}
.cta-form h3 {
  margin-top: 0;
}
.about-content {
  padding: 30px;
}
.about-carousel .item {
  padding: 15px;
}
.about-carousel .item .caption {
  padding: 15px;
  color: rgba(255, 255, 255, 0.7);
  width: 100%;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.about-carousel .item .caption h3 {
  margin: 0;
}
.about-carousel .item .caption hr {
  margin: 5px auto;
  max-width: 50px;
}
.about-carousel .item .caption p {
  margin: 0;
}
.about-carousel .item .caption ul.social {
  margin-top: 5px;
}
.about-carousel .item .caption ul.social li a {
  color: rgba(255, 255, 255, 0.7);
}
.about-carousel .item .caption ul.social li a:hover,
.about-carousel .item .caption ul.social li a:focus {
  color: white;
}
.about-carousel .owl-controls {
  margin-top: 0;
}
.about-carousel .owl-controls .owl-prev,
.about-carousel .owl-controls .owl-next {
  text-align: center;
  position: absolute;
  height: 60px;
  width: 40px;
  border-radius: 0 !important;
  line-height: 50px;
  font-size: 30px !important;
  margin: auto 0 !important;
  top: 0;
  bottom: 0;
  background-color: #41c4ab !important;
  color: white !important;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}
.about-carousel .owl-controls .owl-prev:hover,
.about-carousel .owl-controls .owl-next:hover {
  opacity: 1;
}
.about-carousel .owl-controls .owl-prev {
  left: 15px;
}
.about-carousel .owl-controls .owl-next {
  right: 15px;
}
.services .media {
  margin-bottom: 30px;
}
.services .media i.fa {
  height: 75px;
  width: 75px;
  line-height: 70px;
  text-align: center;
  border: 3px solid #222222;
  border-radius: 100%;
  font-size: 30px;
}
.services .media .media-body {
  min-width: none;
  padding-left: 15px;
}
.services .media .media-body h3 {
  margin-bottom: 15px;
}
.services .media .media-body ul {
  list-style: inside;
  padding: 0;
}
.services .media .media-body ul li {
  margin-bottom: 10px;
}
@media (min-width: 390px) {
  .services .media .media-body {
    min-width: 260px;
  }
}
@media (min-width: 992px) {
  .services .media .media-body {
    min-width: 193px;
  }
}
@media (min-width: 1199px) {
  .services .media .media-body {
    min-width: 260px;
  }
}
@media (min-width: 992px) {
  .services .media {
    margin-bottom: 0;
  }
}
.portfolio-carousel {
  padding: 0;
  color: white;
  background-color: #222222;
}
.portfolio-carousel .item {
  background-color: #222222;
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
  padding: 50px 55px;
  text-align: center;
}
.portfolio-carousel .item .portfolio-image {
  margin-top: 50px;
}
.portfolio-carousel .item .project-details {
  padding: 0;
}
.portfolio-carousel .item .project-details img.client-logo {
  margin: 0 auto 25px;
}
.portfolio-carousel .item .project-details .project-name {
  display: block;
  font-size: 40px;
  line-height: 40px;
  margin-bottom: 5px;
  font-family: "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 900;
  text-transform: uppercase;
}
.portfolio-carousel .item .project-details .project-description {
  display: block;
  font-size: 18px;
  line-height: 18px;
}
.portfolio-carousel .owl-controls {
  margin-top: 0;
}
.portfolio-carousel .owl-controls .owl-prev,
.portfolio-carousel .owl-controls .owl-next {
  text-align: center;
  position: absolute;
  height: 75px;
  width: 50px;
  border-radius: 0 !important;
  line-height: 70px;
  font-size: 30px !important;
  margin: auto 0 !important;
  top: 0;
  bottom: 0;
  background-color: #41c4ab !important;
  color: white !important;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}
.portfolio-carousel .owl-controls .owl-prev:hover,
.portfolio-carousel .owl-controls .owl-next:hover {
  opacity: 1;
}
.portfolio-carousel .owl-controls .owl-prev {
  left: 0;
}
.portfolio-carousel .owl-controls .owl-next {
  right: 0;
}
@media (min-width: 992px) {
  .portfolio-carousel .item {
    padding: 155px 55px 155px;
    text-align: left;
    min-height: 100%;
  }
  .portfolio-carousel .item .portfolio-image {
    margin-top: 0;
  }
  .portfolio-carousel .item .project-details {
    padding: 15% 0 0;
  }
  .portfolio-carousel .item .project-details img.client-logo {
    margin: 0 auto 25px 0;
  }
  .portfolio-carousel .item .project-details .project-name {
    display: block;
    font-size: 50px;
    line-height: 50px;
  }
  .portfolio-carousel .item .project-details .project-description {
    font-size: 20px;
    line-height: 20px;
  }
  .portfolio-carousel .item hr.colored {
    margin: 20px auto 20px 0;
  }
}
.portfolio-gallery .item {
  padding: 15px;
}
.portfolio-modal {
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}
.portfolio-modal .modal-backdrop {
  display: none;
}
.portfolio-modal .modal-content {
  color: white;
  background: transparent;
  border-radius: 0;
  background-clip: border-box;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
  min-height: 100%;
  padding: 100px 0;
  text-align: center;
}
.portfolio-modal .modal-content h2 {
  margin: 0;
  font-size: 46px;
}
.portfolio-modal .modal-content img {
  margin: 30px auto;
}
.portfolio-modal .modal-content .item-details {
  margin: 30px 0;
}
.portfolio-modal .close-modal {
  position: absolute;
  width: 75px;
  height: 75px;
  background-color: transparent;
  top: 25px;
  right: 25px;
  cursor: pointer;
}
.portfolio-modal .close-modal:hover {
  opacity: 0.3;
}
.portfolio-modal .close-modal .lr {
  height: 75px;
  width: 1px;
  margin-left: 35px;
  background-color: white;
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  /* IE 9 */
  -webkit-transform: rotate(45deg);
  /* Safari and Chrome */
  z-index: 1051;
}
.portfolio-modal .close-modal .lr .rl {
  height: 75px;
  width: 1px;
  background-color: white;
  transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  /* IE 9 */
  -webkit-transform: rotate(90deg);
  /* Safari and Chrome */
  z-index: 1052;
}
.portfolio-filter {
  display: inline-block;
}
.portfolio-filter #filters {
  list-style: none;
  padding: 0;
  margin-bottom: 30px;
}
.portfolio-filter #filters li {
  display: inline-block;
}
.portfolio-filter #filters li .filter {
  display: block;
  cursor: pointer;
  padding: 10px 15px;
  margin: 2px;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 1px;
  font-size: 12px;
  color: #222222;
  background: transparent;
  border: 1px solid #222222;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}
.portfolio-filter #filters li .filter.active {
  background-color: #41c4ab;
  color: white;
  border-color: #41c4ab;
}
#portfoliolist .portfolio {
  width: 31%;
  margin: 1%;
  display: none;
  float: left;
  overflow: hidden;
}
#portfoliolist .portfolio .portfolio-wrapper {
  overflow: hidden;
  position: relative !important;
  background: #222222;
  cursor: pointer;
}
#portfoliolist .portfolio .portfolio-wrapper img {
  max-width: 100%;
  position: relative;
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
}
#portfoliolist .portfolio .portfolio-wrapper img:hover {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}
#portfoliolist .portfolio .portfolio-wrapper .caption {
  position: absolute;
  width: 100%;
  height: 75px;
  bottom: -75px;
}
#portfoliolist .portfolio .portfolio-wrapper .caption .caption-bg {
  background: #41c4ab;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#portfoliolist .portfolio .portfolio-wrapper .caption .caption-text {
  color: white;
  position: relative;
  z-index: 500;
  padding: 15px 8px;
}
#portfoliolist .portfolio .portfolio-wrapper .caption .caption-text a.text-title {
  color: white;
}
#portfoliolist .portfolio .portfolio-wrapper .caption .caption-text .text-category {
  display: block;
  font-size: 12px;
}
/*  #Mobile (Portrait) - Note: Design for a width of 320px */
@media only screen and (max-width: 767px) {
  #portfoliolist .portfolio {
    width: 48%;
    margin: 1%;
  }
}
.pricing {
  color: white;
  background-color: #222222;
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}
.pricing .pricing-item {
  text-align: center;
  background: white;
  color: #222222;
  padding: 30px;
  -webkit-box-shadow: 0px 0px 30px 5px rgba(34, 34, 34, 0.75);
  -moz-box-shadow: 0px 0px 30px 5px rgba(34, 34, 34, 0.75);
  box-shadow: 0px 0px 30px 5px rgba(34, 34, 34, 0.75);
  z-index: 1;
  margin-bottom: 30px;
}
.pricing .pricing-item h3 {
  margin: 0;
}
.pricing .pricing-item hr {
  max-width: 100px;
}
.pricing .pricing-item .price {
  margin-bottom: 20px;
}
.pricing .pricing-item .price .number {
  font-weight: 900;
  font-size: 50px;
}
.pricing .pricing-item .price .number sup {
  font-size: 30px;
}
.pricing .pricing-item .list-group-item {
  border-radius: 0;
}
@media (min-width: 992px) {
  .pricing {
    background-attachment: scroll;
  }
  .pricing .pricing-item {
    margin-bottom: 0;
  }
  .pricing .pricing-item.featured-first {
    margin-right: -15px;
    margin-top: 15px;
  }
  .pricing .pricing-item.featured {
    position: absolute;
    width: 100%;
    left: 0;
    margin: 0;
    padding: 45px 30px;
  }
  .pricing .pricing-item.featured-last {
    margin-left: -15px;
    margin-top: 15px;
  }
}
@media (min-width: 1025px) {
  .pricing {
    background-attachment: fixed;
  }
}
.floating-label-form-group {
  position: relative;
  margin-bottom: 0;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #e1e1e1;
}
.floating-label-form-group input,
.floating-label-form-group textarea {
  z-index: 1;
  position: relative;
  padding-right: 0;
  padding-left: 0;
  border: none;
  border-radius: 0;
  font-size: 1.5em;
  background: none;
  box-shadow: none !important;
  resize: none;
}
.floating-label-form-group label {
  display: block;
  z-index: 0;
  position: relative;
  top: 2em;
  margin: 0;
  font-size: 0.85em;
  line-height: 1.764705882em;
  vertical-align: middle;
  vertical-align: baseline;
  opacity: 0;
  -webkit-transition: top 0.5s ease,opacity 0.5s ease;
  -moz-transition: top 0.5s ease,opacity 0.5s ease;
  -ms-transition: top 0.5s ease,opacity 0.5s ease;
  transition: top 0.5s ease,opacity 0.5s ease;
}
.floating-label-form-group::not(:first-child) {
  padding-left: 14px;
  border-left: 1px solid #e1e1e1;
}
.floating-label-form-group-with-value label {
  top: 0;
  opacity: 1;
}
.floating-label-form-group-with-focus label {
  color: #41c4ab;
}
form .row:first-child .floating-label-form-group {
  border-top: 1px solid #e1e1e1;
}
footer.footer{
  background:#0b0b0b;            /* строгий низ */
  background-image:none !important; /* перекрываем inline bg-image */
  padding:44px 0 22px;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.75);
}

footer.footer a{
  color:#fff;
  text-decoration:none;
  transition:opacity .2s ease;
}

footer.footer a:hover{
  opacity:.85;
}

footer.footer p{
  font-size:18px;      /* ваш базовый */
  line-height:1.7;
  margin:0 0 10px;
  color:rgba(255,255,255,.75);
}

/* блоки внутри футера — убираем гигантские отступы */
footer.footer .contact-details{
  margin:18px 0 18px;
}

footer.footer .social{
  margin-bottom:18px;
}

footer.footer .copyright p.small{
  font-size:14px;
  color:rgba(255,255,255,.55);
}

/* мобильная плотнее */
@media (max-width: 767px){
  footer.footer{
    padding:34px 0 18px;
  }
}
.btn-outline-light {
  color: white;
  border: 1px solid white;
  background: transparent;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}
.btn-outline-light:hover,
.btn-outline-light:focus {
  color: #41c4ab;
  background: white;
  outline: none;
}
.btn-outline-dark {
  color: #222222;
  border: 1px solid #222222;
  background: transparent;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}
.btn-outline-dark:hover,
.btn-outline-dark:focus {
  color: white;
  background: #000000;
  border-color: #000000;
  outline: none;
}
.btn {
  border-radius: 0;
  padding: 12px 18px;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 1px;
}
.btn:focus,
.btn:active,
.btn.active {
  outline: none;
}
.btn-full-width {
  border: 0;
  border-radius: 0;
  background-color: #222222;
  color: white;
  padding: 50px 0;
  font-size: 26px;
  font-weight: 200;
  letter-spacing: normal;
  text-transform: none;
}
.btn-full-width:hover {
  background-color: #41c4ab;
  color: white;
}
.btn-full-width:focus {
  color: white;
}
body.modern {
  font-family: "Cardo", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
}
body.modern h1,
body.modern h2,
body.modern h3,
body.modern h4,
body.modern h5,
body.modern h6 {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}
body.modern p.lead {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}
body.modern header .brand-name {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}
body.modern .about-carousel .owl-controls .owl-prev,
body.modern .about-carousel .owl-controls .owl-next {
  line-height: 55px;
}
body.modern .portfolio-carousel .item .project-details .project-name {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}
body.modern .testimonials .testimonials-carousel .item .testimonial-info .testimonial-author .name {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}
body.modern .testimonials .testimonials-carousel .owl-controls .owl-prev,
body.modern .testimonials .testimonials-carousel .owl-controls .owl-next {
  line-height: 55px;
}
body.vintage {
  font-family: "Cardo", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
}
body.vintage h1,
body.vintage h2,
body.vintage h3,
body.vintage h4,
body.vintage h5,
body.vintage h6 {
  font-family: "Sanchez", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
}
body.vintage p.lead {
  font-family: "Sanchez", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
}
body.vintage header .brand-name {
  font-family: "Sanchez", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
}
body.vintage .about-carousel .owl-controls .owl-prev,
body.vintage .about-carousel .owl-controls .owl-next {
  line-height: 55px;
}
body.vintage .portfolio-carousel .item .project-details .project-name {
  font-family: "Sanchez", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
}
body.vintage .testimonials .testimonials-carousel .item .testimonial-info .testimonial-author .name {
  font-family: "Sanchez", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
}
body.vintage .testimonials .testimonials-carousel .owl-controls .owl-prev,
body.vintage .testimonials .testimonials-carousel .owl-controls .owl-next {
  line-height: 55px;
}

/* Если мешает фиксированная шапка при переходе по якорю */
.screen-section{
  scroll-margin-top: 90px;      /* под высоту navbar (подгони число) */
}
.btn-outline-dark {
  padding: 15px 40px;
  font-size: 18px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
body.inner-page .navbar {
    background-color: #000 !important;
}
body.inner-page section:first-of-type {
    padding-top: 120px;
}
body.inner-page .navbar.navbar-expanded{
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
textarea.auto-grow{
  resize: none;      /* убирает ручной ресайз */
  overflow: hidden;  /* чтобы не появлялся скролл */
  min-height: 38px;      /* как у input */
  line-height: 1.4;
  padding-top: 10px;
  padding-bottom: 10px;
}
.navbar-brand img {
  max-height: 60px;
  width: auto;
}
body {
  font-family: "Open Sans", sans-serif;
}

/* Заголовки */
h1, h2, h3, h4, h5, h6 {
  font-family: "Open Sans", sans-serif;
  font-weight: 800;
}

/* Старые селекторы шаблона — ПЕРЕОПРЕДЕЛЯЕМ */
header .brand-name,
.navbar,
.navbar a,
.section-heading {
  font-family: "Open Sans", sans-serif !important;
}
.soud-meaning-section {
  padding: 0px 0;
  background: #fff;
}

/* Заголовок */
.soud-meaning-section .soud-title {
  font-family: "Open Sans", sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  margin: 0 0 20px;
  line-height: 1.15;
}

/* Обёртка для двух колонок */
.soud-meaning-content {
  margin-top: 20px;
}

/* Левая колонка: большие буквы СОУД */
.soud-letters {
  height: 100%;
  min-height: 520px;              
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  font-family: "Open Sans", sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  color: #333333;
  /* opacity: 0.14; */
  user-select: none;
  pointer-events: none;
}

.soud-letters span {
  font-size: 200px;
}

/* Правая колонка: блоки расшифровки */
.soud-item {
  padding: 22px 0;
  border-top: 1px solid rgba(0,0,0,.08);
}

.soud-item:first-child {
  border-top: none;
  padding-top: 0;
}

/* Заголовки "СО — СООБЩЕСТВО" */
.soud-item-title {
  font-family: "Open Sans", sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
  margin: 0 0 10px;
}

/* Текст */
.soud-item p {
  color: #444;
  line-height: 1.75;
  margin: 0 0 10px;
}

.soud-item p:last-child {
  margin-bottom: 0;
}

/* Адаптив */
@media (max-width: 991px) {
  .soud-letters {
    min-height: 420px;
    opacity: 0.12;
  }
  .soud-letters span {
    font-size: 84px;
  }
}

@media (max-width: 767px) {
  /* на мобилке скрываем левую колонку (как в HTML у тебя hidden-xs) */
  .soud-meaning-section {
    padding: 55px 0;
  }
}
.soud-meaning-content.row{
  max-width: 1920px;
  margin-left: auto !important;
  margin-right: auto !important;

  /* чтобы сохранить красивые "гаттеры" как у bootstrap */
  padding-left: 15px;
  padding-right: 15px;
}
.soud-meaning-section .row:first-child { 
  display: flex; 
  justify-content: center; 
}

.soud-meaning-section {
  position: relative;
  background-color: #fff;
  overflow: hidden;
}

.soud-meaning-section::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image: url("/bitrix/templates/in_studio_landing/assets/img/soud-water.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 95% auto; /* регулируй размер */

  opacity: 0.03;             /* прозрачность водяного знака */
  pointer-events: none;      /* чтобы не мешал кликам */
  z-index: 0;
}

/* Контент поверх водяного знака */
.soud-meaning-section > .container {
  position: relative;
  z-index: 1;
}
.soud-services .content-row{
  margin-top: 35px;
}

.soud-community{ padding:80px 0; background:#fff; }

.soud-community__title{
  font-weight:800;
  text-transform:uppercase;
  margin:0 0 10px;
}

.soud-community__row{ margin-top:35px; display:flex; align-items:stretch; }
@media (max-width: 991px){ .soud-community__row{ display:block; } }

.soud-community__cards{ display:grid; grid-template-columns:1fr; gap:14px; }

.soud-community__card{
  background:#fff;
  border:1px solid rgba(0,0,0,.07);
  border-left: 4px solid rgb(0 0 0 / 80%);
  border-radius:14px;
  padding:18px;
  box-shadow:0 10px 25px rgba(0,0,0,.04);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.soud-community__card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 35px rgba(0,0,0,.08);
  border-left-color:rgb(161 161 161);
}
.soud-community__card-title{
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
  margin:0 0 8px;
  color:#222;
}
.soud-community__card-text{ color:#444; line-height:1.6; }

.soud-community__text{
  background: rgb(255 255 255);
  border:1px solid rgba(0,0,0,.05);
  border-radius:14px;
  padding:24px 26px;
  height:100%;
}
.soud-community__text p{ margin:0 0 12px; color:#333; line-height:1.75; }
.soud-community__text p:last-child{ margin-bottom:0; }
.soud-community__text {
  text-align: left;          /* выравнивание по левому краю */
  padding: 40px;             /* аккуратный внутренний отступ */
}
#process{ background:#fff; } /* если нужно bg-gray — меняй на классом секции */

#process .soud-process{
  padding-top: 18px; /* чуть воздух после заголовка секции */
}

/* Left text card */
#process .soud-process__text{
  border:1px solid #e6e8ec;
  border-radius:16px;
  background:#fff;
  padding:22px;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
}

#process .soud-process__text p{
  margin:0 0 14px;
  color:#111;
  font-size:18px;
  line-height:1.75;
}

#process .soud-process__accent{
  margin:16px 0;
  padding:14px 16px;
  border-radius:14px;
  background:#f7f8fa;
  border-left:3px solid #111;
  font-weight:800;
  color:#111;
  line-height:1.5;
}

#process .soud-process__final{
  margin-top:6px;
  font-weight:700;
}

/* Right cards: make them match left block height on desktop */
@media (min-width: 992px){
  #process .soud-process__grid{
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
  }
  #process .soud-process__grid > .col-md-6{
    display:flex;
  }

  /* right side: cards wrapper fills full height */
  #process .soud-process__cards{
    width:100%;
    display:flex;
    margin-left:-10px;
    margin-right:-10px;
  }
  #process .soud-process__cards > .col-sm-6{
    display:flex;
    flex-direction:column;
    padding-left:10px;
    padding-right:10px;
  }

  /* each card takes half column height */
  #process .soud-process__card{
    flex:1 1 0;
  }
  #process .soud-process__cards > .col-sm-6 .soud-process__card + .soud-process__card{
    margin-top:14px;
  }
}

/* Card style */
#process .soud-process__card{
  border:1px solid #e6e8ec;
  background:#fff;
  border-radius:16px;
  padding:18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  position:relative;
  overflow:hidden;
  margin-bottom:14px; /* mobile */
}

#process .soud-process__card:after{
  content:"";
  position:absolute;
  left:0; top:0;
  width:100%; height:100%;
  background: linear-gradient(120deg, rgba(17,17,17,.06), rgba(17,17,17,0));
  transform: translateX(-120%);
  transition: transform .45s ease;
  pointer-events:none;
}

#process .soud-process__card:hover{
  transform: translateY(-3px);
  box-shadow: 0 14px 40px rgba(0,0,0,.08);
  border-color:#d7dbe2;
}
#process .soud-process__card:hover:after{ transform: translateX(0); }

#process .soud-process__card-title{
  font-weight:800;
  color:#111;
  font-size: 22px;
  letter-spacing:.01em;
  margin:0 0 8px;
  text-transform:uppercase;
}

#process .soud-process__card-text{
  color:#4b5563;
  font-size:18px;
  line-height:1.6;
}

/* Full-width note */
#process .soud-process__note{
  border-radius:16px;
  background:#ffffff;
  color:#111111;
  padding:16px 18px;
  font-weight:800;
  line-height:1.5;
  border-left:3px solid #111;
  border-right:3px solid #111;
  box-shadow: 0 18px 50px rgba(0,0,0,.14);
}

/* Mobile tweaks */
@media (max-width: 991px){
  #process .soud-process__card{ margin-bottom:14px; }
}
@media (max-width: 767px){
  #disciplina.soud-discipline{ padding: 48px 0; }
}

#disciplina .soud-kicker{
  display:inline-block;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#6b7280;
  margin-bottom:10px;
}

#disciplina .soud-title{

  font-weight: 800;
  letter-spacing: .01em;
}

#disciplina .soud-lead{
  margin:0 auto;
  max-width:820px;
  font-size:18px;
  line-height:1.7;
}

#disciplina .soud-divider{
  height:1px;
  background:#e6e8ec;
  margin:22px auto 0;
  max-width:280px;
}

/* Left text panel */
#disciplina .soud-panel{
  border:1px solid #e6e8ec;
  border-radius:14px;
  padding:22px 22px;
  background:#fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
  position:relative;
  overflow:hidden;
}

#disciplina .soud-panel:before{
  content:"";
  position:absolute;
  left:-40px;
  top:-40px;
  width:140px;
  height:140px;
  border-radius:999px;
  border:1px solid #e6e8ec;
  opacity:.7;
}

#disciplina .soud-p{
  margin:0 0 16px;
  color:#1a1a1a;
  font-size:18px;
  line-height:1.75;
}

#disciplina .soud-quote{
  margin-top:18px;
  padding:16px 18px;
  border-left:3px solid #111;
  background:#f7f8fa;
  border-radius:12px;
  color:#111;
  font-weight:700;
  font-size:22px;
  line-height:1.6;
}

/* Right cards */
#disciplina .soud-card{
  display:flex;
  gap:12px;
  align-items:flex-start;
  border:1px solid #e6e8ec;
  background:#fff;
  border-radius:14px;
  padding:16px 16px;
  margin-bottom:14px;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  will-change: transform;
  position:relative;
  overflow:hidden;
}

#disciplina .soud-card:after{
  content:"";
  position:absolute;
  left:0; top:0;
  width:100%; height:100%;
  background: linear-gradient(120deg, rgba(17,17,17,.06), rgba(17,17,17,0));
  transform: translateX(-120%);
  transition: transform .45s ease;
  pointer-events:none;
}

#disciplina .soud-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
  border-color:#d7dbe2;
}

#disciplina .soud-card:hover:after{
  transform: translateX(0);
}

#disciplina .soud-card__icon{
  width:40px;
  height:40px;
  border-radius:12px;
  border:1px solid #e6e8ec;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#111;
  flex: 0 0 40px;
  transition: transform .22s ease;
}

#disciplina .soud-card:hover .soud-card__icon{
  transform: scale(1.06);
}

#disciplina .soud-card__title{
  font-weight:800;
  color:#111;
  margin:0 0 6px;
  font-size:22px;
  letter-spacing:.01em;
}

#disciplina .soud-card__text{
  color:#4b5563;
  font-size:18px;
  line-height:1.6;
}

/* Mobile spacing */
@media (max-width: 991px){
  #disciplina .soud-panel{ margin-bottom:16px; }
}
#disciplina.soud-discipline{
  background: #f5f5f5; /* мягкий серый, не грязный */
}

#disciplina.soud-discipline .soud-panel,
#disciplina.soud-discipline .soud-card{
  background:#fff;
}
#disciplina .soud-card{
  height: 100%;
}

/* spacing between top tiles and bottom row */
#disciplina .content-row > [class*="col-"]{
  margin-bottom: 14px;
}

/* image block: same height as text panel */
#disciplina .soud-media{
  height: 100%;
  min-height: 320px; /* страховка на коротком тексте */
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #e6e8ec;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
}

#disciplina .soud-media__img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform .5s ease;
}

#disciplina .soud-media:hover .soud-media__img{
  transform: scale(1.05);
}

/* Make bottom two columns equal height on desktop */
@media (min-width: 992px){
  #disciplina .content-row{
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
  }
  #disciplina .content-row > .col-md-7,
  #disciplina .content-row > .col-md-5{
    display: flex;
  }
  #disciplina .content-row > .col-md-7 .soud-panel,
  #disciplina .content-row > .col-md-5 .soud-media{
    width: 100%;
  }
}
#members{
  background:#fff;
}

/* ===== TOP PANEL ===== */
#members .soud-panel{
  border:1px solid #e6e8ec;
  border-radius:16px;
  padding:24px 24px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.04);
}

/* paragraphs */
#members .soud-p{
  margin:0 0 16px;
  color:#111;
  font-size:18px;
  line-height:1.7;
}

/* ===== LIST (UNIFIED, STABLE) ===== */
#members .soud-list{
  margin:12px 0 18px;
  padding:0;
  list-style:none;
}

#members .soud-list li{
  position:relative;
  padding-left:30px;
  padding-top:12px;
  padding-bottom:12px;
  margin:0;

  font-size:18px;
  line-height:1.65;
  color:#111;

  border-bottom:1px solid #eef0f3;
}

#members .soud-list li:last-child{
  border-bottom:none;
}

/* DASH — SYMBOL, NOT LINE */
#members .soud-list li:before{
  content:"—";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  font-weight:600;
  line-height:1;
  color:#111;
}

/* ===== FINAL BLACK NOTE ===== */
#members .soud-note{
  margin-top:18px;
  padding:16px 18px;
  border-radius:14px;
  background:#ffffff;
  color:#000000;
  font-weight:800;
  font-size:22px;
  line-height:1.5;
  border-left:3px solid #111;
  border-right:3px solid #111;
  box-shadow: 0 18px 50px rgba(0,0,0,.14);
}

/* ===== IMAGE (LIKE "DISCIPLINA": NO FRAME, COVER, HOVER ZOOM) ===== */
#members .soud-media{
  height:100%;
  min-height:320px;     /* чтобы колонка не схлопывалась */
  border-radius:14px;
  overflow:hidden;
  background:transparent;
}

#members .soud-media__img{
  width:100%;
  height: auto !important;
  display:block;
  object-fit:cover;     /* без пустых полей */
  transform:scale(1.01);
  transition:transform .5s ease;
  border-radius:14px;
}

#members .soud-media:hover .soud-media__img{
  transform:scale(1.05);
}

/* ===== split two short phrases inside second panel ===== */
#members .soud-members-split{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #eef0f3;

  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

#members .soud-members-split__item{
  font-size:18px;
  line-height:1.7;
  color:#111;
}

@media (min-width: 992px){
  #members .soud-members-split{
    grid-template-columns:1fr 1fr;
    gap:16px;
  }
}

/* ===== DESKTOP: EQUAL HEIGHT TEXT + IMAGE ===== */
@media (min-width: 992px){
  #members .soud-members-top{
    display:flex;
    align-items:stretch;
  }

  #members .soud-members-top > [class*="col-"]{
    display:flex;
  }

  #members .soud-panel,
  #members .soud-media{
    width:100%;
  }
}

/* ===== BOTTOM TILES ===== */
#members .soud-tile{
  border:1px solid #e6e8ec;
  background:#fff;
  border-radius:16px;
  padding:18px 18px;
  box-shadow:0 10px 30px rgba(0,0,0,.04);
  height:100%;
  transition:transform .22s ease, box-shadow .22s ease;
}

#members .soud-tile:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 40px rgba(0,0,0,.08);
}

#members .soud-tile__title{
  font-size:22px;
  font-weight:800;
  color:#111;
  margin:0 0 6px;
}

#members .soud-tile__text{
  font-size:18px;
  line-height:1.6;
  color:#4b5563;
}

/* ===== MOBILE ===== */
@media (max-width: 991px){
  #members .soud-media{
    min-height:240px;
    margin-top:14px;
  }
}
@media (min-width: 992px){
  #members .col-md-7{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
}

/* Все текстовые панели — на всю ширину */
#members .col-md-7 > .soud-panel{
  width:100%;
}

/* Убираем эффект "узкой колонки" у второго текстового блока */
#members .col-md-7 .soud-panel p{
  max-width:100%;
}

/* ЧЁРНУЮ ПЛАШКУ — ВНИЗ, ВО ВСЮ ШИРИНУ ТЕКСТА */
#members .soud-note{
  width:100%;
  margin-top:0;
}

/* Запрещаем ей ужиматься как колонке */
@media (min-width: 992px){
  #members .soud-note{
    align-self:stretch;
  }
}

/* Доп. читабельность основного текста */
#members .soud-panel + .soud-panel .soud-p{
  max-width:680px; /* как в "Дисциплине" */
}

/* На мобильных — всё по порядку, без сюрпризов */
@media (max-width: 991px){
  #members .col-md-7{
    gap:12px;
  }
}
#not-a-fit.soud-fit{
  padding:72px 0;
}
@media (max-width: 767px){
  #not-a-fit.soud-fit{ padding:48px 0; }
}

/* header reuse */
#not-a-fit .soud-kicker{
  display:inline-block;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#6b7280;
  margin-bottom:10px;
}
#not-a-fit .soud-title{
  margin:0 0 12px;
  font-weight:800;
  letter-spacing:.01em;
  color:#111;
}
@media (max-width: 767px){
  #not-a-fit .soud-title{ font-size:26px; }
}
#not-a-fit .soud-lead{
  margin:0 auto;
  max-width:820px;
  font-size:17px;
  line-height:1.7;
  color:#4b5563;
}
#not-a-fit .soud-divider{
  height:1px;
  background:#e6e8ec;
  margin:22px auto 0;
  max-width:280px;
}

/* checklist: visually different from cards/panels */
#not-a-fit .soud-checklist{
  background:#fff;
  border:1px solid #e6e8ec;
  border-radius:16px;
  padding:22px 22px;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
  position:relative;
  overflow:hidden;
}
#not-a-fit .soud-checklist:before{
  content:"";
  position:absolute;
  right:-60px;
  top:-60px;
  width:180px;
  height:180px;
  border-radius:999px;
  border:1px solid #e6e8ec;
  opacity:.55;
}
#not-a-fit .soud-checklist__title{
  font-weight:800;
  color:#111;
  font-size: 22px;
  margin:0 0 12px;
}
#not-a-fit .soud-checklist__list{
  list-style:none;
  padding:0;
  margin:0;
}
#not-a-fit .soud-checklist__list li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px 0;
  border-top:1px solid #eef0f3;
  color:#1a1a1a;
  font-size:18px;
  line-height:1.6;
}
#not-a-fit .soud-checklist__list li:first-child{
  border-top:0;
  padding-top:0;
}
#not-a-fit .soud-checklist__list .fa{
  margin-top:4px;
  color:#111;
  opacity:.9;
}
#not-a-fit .soud-checklist__foot{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #eef0f3;
  color:#111;
  font-size:18px;
  line-height:1.6;
}

/* CTA card: dark, makes section stand out */
#not-a-fit .soud-cta{
  background:#111;
  color:#fff;
  border-radius:16px;
  padding:20px 20px;
  box-shadow: 0 14px 40px rgba(0,0,0,.12);
  position:relative;
  overflow:hidden;
}
#not-a-fit .soud-cta:after{
  content:"";
  position:absolute;
  left:-30%;
  top:-60%;
  width:80%;
  height:160%;
  background: rgba(255,255,255,.06);
  transform: rotate(18deg);
}
#not-a-fit .soud-cta__top{ position:relative; z-index:1; }
#not-a-fit .soud-cta__badge{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(255,255,255,.10);
  font-weight:800;
  font-size:18px;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:10px;
}
#not-a-fit .soud-cta__title{
  font-weight:800;
  font-size:22px;
  line-height:1.25;
  margin:0 0 10px;
}
#not-a-fit .soud-cta__text{
  color: rgba(255,255,255,.82);
  font-size:18px;
  line-height:1.65;
  margin:0;
}

/* mini rows inside CTA */
#not-a-fit .soud-cta__steps{
  position:relative;
  z-index:1;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.12);
}
#not-a-fit .soud-mini{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px 0;
}
#not-a-fit .soud-mini .fa{
  width:28px;
  height:28px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.10);
  color:#fff;
  margin-top:2px;
}
#not-a-fit .soud-mini__t{
  font-weight:800;
  font-size:18px;
  margin:0 0 2px;
}
#not-a-fit .soud-mini__d{
  color: rgba(255,255,255,.72);
  font-size:18px;
  line-height:1.45;
}

/* CTA button */
#not-a-fit .soud-cta__btn{
  position:relative;
  z-index:1;
  margin-top:12px;
  width:100%;
  border-radius:12px;
  padding:12px 14px;
  font-weight:800;
  border:1px solid rgba(255,255,255,.25);
  background: transparent;
  color:#fff;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
#not-a-fit .soud-cta__btn:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.35);
  color:#fff;
}

@media (max-width: 991px){
  #not-a-fit .soud-cta{ margin-top:16px; }
}
#you-want{
  background:#fff;
  padding:72px 0;
}
@media (max-width:767px){
  #you-want{ padding:48px 0; }
}

/* ========== EQUAL HEIGHT COLUMNS (DESKTOP) ========== */
@media (min-width:992px){
  #you-want .soud-you-want-row{
    display:flex;
    align-items:stretch;
  }
  #you-want .soud-you-want-row > [class*="col-"]{
    display:flex;
    align-items:stretch;
  }
  #you-want .soud-panel{
    width:100%;
    height:100%;
  }
}

/* PANELS */
#you-want .soud-panel{
  border:1px solid #e6e8ec;
  border-radius:16px;
  padding:24px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.04);
}

/* HEADER LEFT */
#you-want .soud-panel__cap{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
#you-want .soud-captext{
  font-size:22px;
  font-weight:800;
  color:#111;
}

/* BADGE */
#you-want .soud-badge{
  font-size:12px;
  font-weight:700;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid #e6e8ec;
  background:#f7f8fa;
  color:#111;
  text-transform:none;
}

/* LIST (PALKA = CENTERED) */
#you-want .soud-list{
  list-style:none;
  padding:0;
  margin:0 0 16px;
}
#you-want .soud-list li{
  position:relative;
  padding-left:26px;
  padding-bottom:10px;
  margin-bottom:10px;
  border-bottom:1px solid #eef0f3;
  font-size:18px;
  line-height:1.6;
  color:#111;
}
#you-want .soud-list li:last-child{
  border-bottom:0;
  margin-bottom:0;
}

/* вместо символа "—" рисуем линию и центруем по высоте строки */
#you-want .soud-list li::before{
  content:"—";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  font-weight:600;
  line-height:1;
  color:#111;
}

/* WARNING */
#you-want .soud-warning{
  margin-top:16px;
  padding:14px 18px;
  background:#f7f8fa;
  color:#000000;
  border-radius:12px;
  font-weight:800;
  font-size:22px;
  border-left:3px solid #111;
}
/* RIGHT TITLE — NO CAPS */
#you-want .soud-rules__title{
  font-size:22px;
  font-weight:800;
  color:#111;
  line-height:1.35;
  margin:0 0 14px;
  text-transform:none !important;
  letter-spacing:0 !important;
}
#you-want .soud-rules__title *{
  text-transform:none !important;
}

/* Right text */
#you-want .soud-rules__p{
  font-size:18px;
  line-height:1.65;
  color:#1a1a1a;
  margin:0 0 14px;
  text-transform:none;
}

/* Quote */
#you-want .soud-rules__quote{
  padding:16px 18px;
  border-left:3px solid #111;
  background:#f7f8fa;
  border-radius:12px;
  font-weight:800;
  font-size:18px;
  margin:0 0 18px;
}

/* Tiles */
#you-want .soud-rules__tiles{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
#you-want .soud-mini-tile{
  padding:16px 18px;
  border-radius:14px;
  border:1px solid #e6e8ec;
  background:#fff;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
#you-want .soud-mini-tile:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,0,0,.08);
  border-color:#d7dbe2;
}
#you-want .soud-mini-tile__t{
  font-size:18px;
  font-weight:800;
  color:#111;
  margin:0 0 4px;
  text-transform:none;
}
#you-want .soud-mini-tile__d{
  font-size:18px;
  color:#4b5563;
  line-height:1.55;
  margin:0;
}
#you-want .soud-divider{
  margin:14px auto 22px; /* было: 22px auto 0 (слишком вниз, без низа) */
}
/* MOBILE */
@media (max-width:991px){
  #you-want .soud-panel{ margin-bottom:16px; }
}
#what-you-get.soud-get{
  position: relative;
  padding: 80px 0;
  overflow: hidden;
}

@media (max-width: 767px){
  #what-you-get.soud-get{ padding: 52px 0; }
}

/* Background glow (оставляем общий характер секции) */
#what-you-get.soud-get:before,
#what-you-get.soud-get:after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:999px;
  background: radial-gradient(circle, rgba(17,17,17,.10), rgba(17,17,17,0) 60%);
  opacity:.85;
  animation: soudGlow 9s ease-in-out infinite;
  pointer-events:none;
}
#what-you-get.soud-get:before{ left:-220px; top:-240px; }
#what-you-get.soud-get:after{ right:-260px; bottom:-260px; animation-delay:-4.5s; }

@keyframes soudGlow{
  0%,100%{ transform: translate3d(0,0,0) scale(1); opacity:.72; }
  50%{ transform: translate3d(18px,12px,0) scale(1.06); opacity:.92; }
}

/* header tokens */
#what-you-get .soud-kicker{
  display:inline-block;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#6b7280;
  margin-bottom:10px;
  position:relative;
  z-index:1;
}

#what-you-get .soud-title{
  margin:0 0 12px;
  font-weight:800;
  letter-spacing:.01em;
  color:#111;
  position:relative;
  z-index:1;
}

@media (max-width: 767px){
  #what-you-get .soud-title{ font-size:26px; }
}

#what-you-get .soud-lead{
  margin:0 auto;
  max-width:820px;
  font-size:18px;
  line-height:1.7;
  color:#4b5563;
  position:relative;
  z-index:1;
}

#what-you-get .soud-divider{
  height:1px;
  background:#e6e8ec;
  margin:22px auto 0;
  max-width:280px;
  position:relative;
  z-index:1;
}

/* grid spacing */
#what-you-get .soud-get-grid{
  position:relative;
  z-index:1;
}

@media (min-width: 992px){
  #what-you-get .soud-get-grid{
    margin-left:-10px;
    margin-right:-10px;
  }
  #what-you-get .soud-get-grid > [class*="col-"]{
    padding-left:10px;
    padding-right:10px;
  }
}

/* static cards */
#what-you-get .soud-get-card{
  border:1px solid #e6e8ec;
  background:#fff;
  border-radius:16px;
  padding:18px 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  overflow:hidden;
  margin-bottom:12px;
}

#what-you-get .soud-get-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 40px rgba(0,0,0,.08);
  border-color:#d7dbe2;
}

#what-you-get .soud-get-card__title{
  font-weight:800;
  color:#111;
  font-size:22px;
  line-height:1.25;
  margin:0 0 8px;
  text-transform:none;
  letter-spacing:0;
}

#what-you-get .soud-get-card__text{
  color:#4b5563;
  font-size:18px;
  line-height:1.65;
  margin:0;
}

/* bottom full-width final bar */
#what-you-get .soud-finalwide{
  position:relative;
  z-index:1;
  margin-top:14px;
  border-radius:18px;
  background:#111;
  color:#fff;
  box-shadow: 0 18px 50px rgba(0,0,0,.14);
  overflow:hidden;
  display:flex;
  gap:18px;
  align-items:center;
  justify-content:space-between;
  padding:18px 18px;
}

#what-you-get .soud-finalwide:before{
  content:"";
  position:absolute;
  left:-30%;
  top:-70%;
  width:90%;
  height:190%;
  background: rgba(255,255,255,.06);
  transform: rotate(18deg);
}

#what-you-get .soud-finalwide__left,
#what-you-get .soud-finalwide__right{
  position:relative;
  z-index:1;
}

#what-you-get .soud-finalwide__tag{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(255,255,255,.10);
  font-weight:800;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:10px;
}

#what-you-get .soud-finalwide__title{
  font-weight:800;
  font-size:22px;
  line-height:1.25;
  margin:0 0 8px;
  text-transform:none;
}

#what-you-get .soud-finalwide__text{
  color: rgba(255,255,255,.82);
  font-size:18px;
  line-height:1.65;
  margin:0;
  max-width: 680px;
}

#what-you-get .soud-finalwide__right{
  text-align:right;
  min-width:280px;
}

#what-you-get .soud-finalwide__btn{
  border-radius:12px;
  padding:12px 16px;
  font-weight:800;
  border:1px solid rgba(255,255,255,.25);
  background: transparent;
  color:#fff;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
  text-transform:none;
}

#what-you-get .soud-finalwide__btn:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.35);
  color:#fff;
}

#what-you-get .soud-finalwide__note{
  margin-top:10px;
  color: rgba(255,255,255,.72);
  font-size:18px;
  line-height:1.5;
}

/* mobile stacking */
@media (max-width: 991px){
  #what-you-get .soud-finalwide{
    flex-direction:column;
    align-items:flex-start;
  }
  #what-you-get .soud-finalwide__right{
    width:100%;
    text-align:left;
    min-width:0;
  }
  #what-you-get .soud-finalwide__btn{
    width:100%;
  }
}
.soud-divider{
  height:1px;
  background:#e6e8ec;
  margin:22px auto 0;
  max-width:280px;
}
@media (min-width: 1400px){
  .container{
    width: auto;          /* не фиксируем ширину */
    max-width: 1320px;    /* было 1170, станет шире */
  }
}

@media (min-width: 1600px){
  .container{
    max-width: 1440px;
  }
}

@media (min-width: 1920px){
  .container{
    max-width: 1560px;    /* комфортно для 16:9 */
  }
}
.soud-list{
  list-style:none;
  padding:0;
  margin: 10px 0 16px;
}

.soud-list li{
  position:relative;
  padding-left:28px;
  margin:0;
  padding-top:12px;
  padding-bottom:12px;

  font-size:18px;
  line-height:1.65;
  color:#111;

  border-bottom:1px solid #eef0f3;
}

.soud-list li:last-child{
  border-bottom:none;
}

/* dash */
.soud-list li:before{
  content:"—";
  position:absolute;
  left:0;
  top:12px;            /* привязали к верхнему padding */
  color:#111;
  font-weight:600;
}
.soud-checklist{
  border:1px solid #e6e8ec;
  border-radius:16px;
  padding:22px 22px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.04);
}

.soud-checklist__title{
  font-weight:800;
  margin:0 0 10px;
  color:#111;
}

.soud-checklist__foot{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #eef0f3;
}

/* list (dash centered) */
.soud-checklist .soud-list{
  margin:12px 0 18px;
  padding:0;
  list-style:none;
}

.soud-checklist .soud-list li{
  position:relative;
  padding-left:30px;
  padding-top:12px;
  padding-bottom:12px;
  margin:0;
  border-bottom:1px solid #eef0f3;
}

.soud-checklist .soud-list li:last-child{ border-bottom:none; }

.soud-checklist .soud-list li:before{
  content:"—";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  font-weight:600;
  line-height:1;
  color:#111;
}

/* RIGHT */
.soud-cta{
  background:#111;
  color:#fff;
  border-radius:16px;
  padding:22px 22px;
  position:relative;
  overflow:hidden;
  box-shadow:0 14px 40px rgba(0,0,0,.14);
}

/* diagonal shine */
.soud-cta:after{
  content:"";
  position:absolute;
  top:-20%;
  right:-30%;
  width:55%;
  height:140%;
  background:linear-gradient(120deg, rgba(255,255,255,.08), rgba(255,255,255,0));
  transform:skewX(-18deg);
  pointer-events:none;
  opacity:.85;
}

.soud-cta__badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  padding:6px 12px;
  font-weight:800;
  letter-spacing:.02em;
  margin-bottom:12px;
}

.soud-cta__top{
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.12);
}

/* tiles */
.soud-cta__steps{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.soud-mini{
  border-radius:14px;
  padding:16px 18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  position:relative;
  overflow:hidden;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease;
  will-change:transform;
}

.soud-mini__inner{
  padding-left:6px; /* чтобы текст не лип к краю */
}

.soud-mini:before{
  content:"";
  position:absolute;
  left:-120%;
  top:0;
  width:120%;
  height:100%;
  background:linear-gradient(120deg, rgba(255,255,255,.14), rgba(255,255,255,0));
  transition:left .45s ease;
  pointer-events:none;
}

.soud-mini:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.16);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}

.soud-mini:hover:before{ left:0; }

/* keep arrow cursor */
.soud-mini,
.soud-mini *{
  cursor: default;
}

/* EQUAL HEIGHT (desktop only) */
@media (min-width: 992px){
  .soud-fit-row{
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
  }

  .soud-fit-left,
  .soud-fit-right{
    display:flex;
    align-items:stretch;
  }

  .soud-fit-left .soud-checklist,
  .soud-fit-right .soud-cta{
    width:100%;
    height:100%;
  }

  .soud-fit-right .soud-cta{
    display:flex;
    flex-direction:column;
  }

  .soud-fit-right .soud-cta__steps{
    margin-top:auto;
  }
}

/* mobile spacing */
@media (max-width: 991px){
  .soud-cta{ margin-top:16px; }
}
.soud-tile,
.soud-community__card,
.soud-process__card,
.soud-card,
.soud-panel,
.soud-get-card,
.soud-mini-tile,
.soud-media,
.soud-finalwide{
  cursor: default;
}

.soud-tile a,
.soud-community__card a,
.soud-process__card a,
.soud-card a,
.soud-panel a,
.soud-get-card a,
.soud-mini-tile a,
.soud-finalwide a,
button,
.btn{
  cursor: pointer;
}
.wow{
  visibility: hidden;
}

.wow.animated{
  visibility: visible;
}
@media (max-width: 991px){
  .wow{
    visibility: visible !important;
    animation: none !important;
    transition: none !important;
  }
}
.wow.wow-no-anim{
  animation: none !important;
  transition: none !important;
  visibility: visible !important;
}
/* ==============================
   CONTACT / NEXT STEP (#contact)
   Background image section
   ============================== */

#contact.soud-next-bg{
  position:relative;
  padding:400px 0;
  overflow:hidden;

  background:#0b0b0b;
  color:#fff;

  background-image:
    linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 48%, rgba(0,0,0,0) 100%),
    url("/upload/contact_soud.png");
  background-size:cover;
  background-position:center 65%;
  background-repeat:no-repeat;
}

/* vignette for readability */
#contact.soud-next-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(60% 70% at 50% 40%, rgba(0,0,0,0) 0%, rgba(0,0,0,.35) 100%);
  pointer-events:none;
  z-index:0;
}

#contact.soud-next-bg .container{
  position:relative;
  z-index:1;
}

/* Title + lead */
#contact .soud-next-bg__title{
  margin:0 0 12px;
  font-weight:800;
  letter-spacing:.01em;
  color:#fff;
}

#contact .soud-next-bg__lead{
  margin:0 auto;
  max-width:980px;
  font-size:18px;
  line-height:1.7;
  color:rgba(255,255,255,.85);
}

#contact .soud-next-bg__divider{
  width:280px;
  height:2px;
  margin:24px auto 0;
  background:rgba(255,255,255,.18);
}

/* CTA Button */
#contact .soud-next-bg__btn{
  position:relative;
  overflow:hidden;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:66px;
  padding:18px 44px;
  border-radius:14px;

  background:#fff;
  border:1px solid rgba(255,255,255,.92);

  color:#111;
  font-size:22px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.02em;
  text-decoration:none;

  transition:transform .2s ease, box-shadow .2s ease, background .25s ease, color .25s ease, border-color .25s ease;
}

/* shine */
#contact .soud-next-bg__btn::after{
  content:"";
  position:absolute;
  top:-40%;
  left:-60%;
  width:40%;
  height:180%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 100%);
  opacity:0;
  pointer-events:none;
}

#contact .soud-next-bg__btn:hover,
#contact .soud-next-bg__btn:focus{
  background:transparent;
  color:#fff;
  border-color:#fff;
  transform:translateY(-2px);
  box-shadow:0 18px 52px rgba(0,0,0,.28);
  outline:none;
}

#contact .soud-next-bg__btn:hover::after,
#contact .soud-next-bg__btn:focus::after{
  opacity:1;
  animation:soudShine .65s ease;
}

@keyframes soudShine{
  0%{ left:-60%; }
  100%{ left:130%; }
}

#contact .soud-next-bg__btn:active{
  transform:translateY(0);
  box-shadow:0 12px 34px rgba(0,0,0,.22);
}

/* Tablet & below: button scaling */
@media (max-width: 991px){
  #contact .soud-next-bg__btn{
    width:100%;
    max-width:520px;
    min-height:58px;
    padding:16px 18px;
    font-size:20px;
  }
}

/* Mobile: full-screen feel + stable centering */
@media (max-width: 767px){

  #contact.soud-next-bg{
    min-height:88vh;
    padding:96px 0 96px;
    background-position:center 55%;
    display:flex;
    align-items:stretch;
  }

  /* make container occupy full section height */
  #contact.soud-next-bg .container{
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
  }

  /* top block (title/lead/divider) stays on top */
  #contact.soud-next-bg .container > .row:first-child{
    margin:0;
  }

  /* CTA row always centered vertically */
  #contact.soud-next-bg .container > .row:last-child{
    margin:0;
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  /* if inside CTA row есть col-* — тоже центруем */
  #contact.soud-next-bg .container > .row:last-child > [class*="col-"]{
    display:flex;
    justify-content:center;
  }

  #contact .soud-next-bg__btn{
    width:88%;
    max-width:560px;
    min-height:72px;
    font-size:22px;
    border-radius:16px;
  }

  #contact .soud-next-bg__divider{
    width:220px;
    margin-top:18px;
  }
}

/* very small screens */
@media (max-width: 380px){
  #contact.soud-next-bg{
    min-height:90vh;
    padding:84px 0 84px;
  }
  #contact .soud-next-bg__btn{
    min-height:66px;
    font-size:20px;
  }
}
@media (max-width: 767px){
  #contact .soud-next-bg__btn{
    white-space: nowrap;        /* ❗ текст в одну строку */
    min-width: 260px;           /* ❗ не даём кнопке сжиматься */
    padding: 18px 36px;         /* больше воздуха по бокам */
    width: auto;                /* не тянем на всю ширину */
  }
}


/* ========== SOUD Entry Modal (premium dark, isolated) ========== */
body.soud-entry-modal-open{
  overflow: hidden;
  touch-action: none;
}

.soud-entry-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}

.soud-entry-modal.is-open{
  opacity: 1;
  pointer-events: auto;
}

.soud-entry-modal__overlay{
  position: absolute;
  inset: 0;
  background:
    radial-gradient(900px 500px at 20% 10%, rgba(255,255,255,.06), transparent 60%),
    radial-gradient(700px 420px at 85% 0%, rgba(255,255,255,.04), transparent 55%),
    rgba(0,0,0,.72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.soud-entry-modal__dialog{
  position: relative;
  width: min(560px, calc(100vw - 32px));
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 22%),
    rgba(16,16,16,.96);
  box-shadow: 0 30px 80px rgba(0,0,0,.55);

  padding: 22px 18px 18px;
  transform: translateY(8px) scale(.985);
  opacity: 0;
  transition: transform .20s ease, opacity .20s ease;
  outline: none;
}

.soud-entry-modal.is-open .soud-entry-modal__dialog{
  transform: translateY(0) scale(1);
  opacity: 1;
}

.soud-entry-modal__close{
  position: absolute;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
.soud-entry-modal__close:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.18);
}

.soud-entry-modal__title{
  margin: 0 44px 10px 0;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: #fff;
}

.soud-entry-modal__text{
  margin: 0 0 14px;
  color: rgba(255,255,255,.82);
  font-size: 16px;
  line-height: 1.7;
}

.soud-entry-modal__form{ display: grid; gap: 12px; }

.soud-entry-modal__label{ display: block; }

.soud-entry-modal__labelText{
  display:block;
  margin-bottom: 6px;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.70);
  font-weight: 800;
}

.soud-entry-modal__input{
  width: 100%;
  height: 52px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.28);
  color: #fff;
  padding: 0 14px;
  outline: none;
  transition: border-color .18s ease, background .18s ease;
}
.soud-entry-modal__input:focus{
  border-color: rgba(255,255,255,.30);
  background: rgba(0,0,0,.40);
}

.soud-entry-modal__submit{
  width: 100%;
  min-height: 56px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.22);
  background: transparent;
  color:#fff;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .02em;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.soud-entry-modal__submit:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.34);
}
.soud-entry-modal__submit:disabled{ opacity:.55; cursor: default; transform:none; }

.soud-entry-modal__hint{
  margin: 2px 2px 0;
  min-height: 2px;
  color: rgba(255,255,255,.75);
  font-size: 14px;
  line-height: 1.5;
}

/* Mobile perfect */
@media (max-width: 767px){
  .soud-entry-modal__dialog{
    width: calc(100vw - 20px);
    border-radius: 18px;
    padding: 20px 16px 16px;
  }
  .soud-entry-modal__text{ font-size: 15px; }
  .soud-entry-modal__input{ height: 54px; }
}

@media (prefers-reduced-motion: reduce){
  .soud-entry-modal, .soud-entry-modal__dialog{ transition: none !important; }
}
.soud-entry-modal__input{
  height: auto;              /* переопределяем фикс. высоту для iOS */
  min-height: 52px;          /* сохраняем внешний размер */
  padding: 14px 14px;        /* вертикальный паддинг вместо 0 */
  font-size: 16px;           /* критично: iOS не зумит и каретка ровная */
  line-height: 24px;         /* каретка по центру */
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}

/* на мобиле чуть крупнее поле, как у тебя было */
@media (max-width: 767px){
  .soud-entry-modal__input{
    min-height: 54px;
    padding: 15px 14px;
    font-size: 16px;
    line-height: 24px;
  }
}
/* iOS caret fix: stable input metrics */
.soud-entry-modal__input{
  height: auto;            /* вместо фикс. height */
  min-height: 52px;        /* визуально то же */
  padding: 14px 14px;      /* вертикальный padding обязателен */
  font-size: 16px;         /* критично для iOS */
  line-height: 24px;       /* каретка по центру */
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}

/* 2) Make dialog scrollable if keyboard covers content (iOS Safari) */
.soud-entry-modal__dialog{
  max-height: calc(100dvh - 24px);  /* dvh нормально работает на iOS 16+ */
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 18px;             /* чтобы низ не упирался */
}

/* fallback for older iOS */
@supports not (height: 100dvh){
  .soud-entry-modal__dialog{
    max-height: calc(100vh - 24px);
  }
}

/* 3) Consent styles (visible checkbox on dark) */
.form-consent{ margin-top: 10px; }

.consent-label{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  user-select: none;
}

.consent-label input[type="checkbox"]{
  width: 20px;
  height: 20px;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: #eef1f6;
}

.consent-text{
  font-size: 13px;
  line-height: 18px;
  color: #9aa1af;
}

.consent-label input[type="checkbox"]:checked + .consent-text{
  color: rgba(255,255,255,.88);
}

.consent-text a{
  color: rgba(255,255,255,.88);
  text-decoration: underline;
}
/* iOS: disable transform on dialog to prevent caret jumping */
@supports (-webkit-touch-callout: none){
  .soud-entry-modal__dialog{
    transform: none !important;
  }
  .soud-entry-modal.is-open .soud-entry-modal__dialog{
    transform: none !important;
  }
}
@supports (-webkit-touch-callout: none){
  .soud-entry-modal__overlay{
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}
/* ==============================
   FOOTER OVERRIDE (SAFE)
   ============================== */

/* увеличиваем высоту футера */
footer.footer{
  padding-top: 40px !important;
  padding-bottom: 64px !important;
  text-align: center;
}

/* центрируем всё содержимое */
footer.footer .footer-inner{
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* логотип */
footer.footer .footer-logo{
  margin-bottom: 32px;
}

/* ограничиваем размер SVG */
footer.footer .footer-logo svg,
footer.footer .footer-logo img{
  width: auto;
  height: 200px;
  max-width: 1200px;
}

/* текст политики */
footer.footer .footer-copy{
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255,255,255,.7);
}

footer.footer .footer-copy a{
  color: rgba(255,255,255,.7);
  text-decoration: none;
}

footer.footer .footer-copy a:hover{
  color: #fff;
}

/* мобильная версия */
@media (max-width: 767px){
  footer.footer{
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  footer.footer .footer-logo svg,
  footer.footer .footer-logo img{
    height: 120px;
  }
}
footer.footer .footer-logo{
  color: #fff; /* ← цвет логотипа */
  margin-bottom: 32px;
}

footer.footer .footer-logo-svg{
  height: 42px;
  width: auto;
  display: block;
}
footer.footer .footer-logo{
  color: rgba(255,255,255,.75);
}
footer.footer .footer-logo{
  transition: color .25s ease;
}

footer.footer .footer-logo:hover{
  color: #ffffff;
}
/* Только кнопка меню "Точка входа" */
.navbar.navbar-inverse .navbar-nav > li > a.page-scroll[href="#contact"]{
  font-family: "Open Sans", sans-serif; /* поставь нужный шрифт */
  font-weight: 800;
  font-size: 20px;                     /* при желании */
  letter-spacing: .02em;
  line-height:1.2;
  text-decoration:none;
  color:#111;
}

/* Если вдруг перебивается другими стилями — включи !important */
.navbar.navbar-inverse .navbar-nav > li > a.page-scroll[href="#contact"]{
  font-family: "Open Sans", sans-serif !important;
}
.wow{
  animation-duration: 1.1s;
  animation-timing-function: ease;
}

/* переопределяем keyframes fadeInUp (animate.css) — убираем translate */
@keyframes fadeInUp{
  from{
    opacity:0;
    transform:none !important;
  }
  to{
    opacity:1;
    transform:none !important;
  }
}

/* страховка: даже если где-то прописан translate в правилах */
.fadeInUp{
  transform:none !important;
  will-change: opacity;
}
.form-consent {
  margin-top: 0px;
  margin-bottom: 20px;
}

.consent-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
}

.consent-label input[type="checkbox"] {
  margin-top: 3px;
  width: 16px;
  height: 16px;
  accent-color: #e9edf3; /* светлый, нейтральный */
}

.consent-text {
  font-size: 13px;
  line-height: 18px;
  color: #9aa1af;
}

.consent-text a {
  color: #cfd6e4;
  text-decoration: underline;
}

.consent-text a:hover {
  text-decoration: none;
}
/* =========================================
   NAV CTA: "Точка входа"
   ========================================= */

/* обычное состояние — белый текст */
.navbar.navbar-inverse .navbar-nav > li > a.page-scroll{
  color:#fff !important;
  transition: color .25s ease, background-color .25s ease;
}

/* hover / focus */
.navbar.navbar-inverse .navbar-nav > li > a.page-scroll:hover,
.navbar.navbar-inverse .navbar-nav > li > a.page-scroll:focus{
  color:#c7c7c7 !important;
}

/* активный пункт (если есть .active) */
.navbar.navbar-inverse .navbar-nav > li.active > a.page-scroll{
  color:#111 !important;
}

/* ================================
   SOUD Entry Modal — iOS stable fix
   (place this at the VERY END)
   ================================ */

/* iOS / mobile: не трогаем touch-action — он ломает фокус */
body.soud-entry-modal-open{
  overflow: hidden;
  /* touch-action: none;  <-- УБРАЛИ */
}

/* базовая модалка */
.soud-entry-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}

.soud-entry-modal.is-open{
  opacity: 1;
  pointer-events: auto;
}

/* overlay без blur по умолчанию (самый безопасный вариант) */
.soud-entry-modal__overlay{
  position: absolute;
  inset: 0;
  background:
    radial-gradient(900px 500px at 20% 10%, rgba(255,255,255,.06), transparent 60%),
    radial-gradient(700px 420px at 85% 0%, rgba(255,255,255,.04), transparent 55%),
    rgba(0,0,0,.72);
  /* backdrop-filter убираем полностью — меньше риска */
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* диалог: БЕЗ transform-анимаций (главный фикс каретки) */
.soud-entry-modal__dialog{
  position: relative;
  width: min(560px, calc(100vw - 24px));
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 22%),
    rgba(16,16,16,.96);
  box-shadow: 0 30px 80px rgba(0,0,0,.55);

  padding: 22px 18px 18px;
  transform: none !important;
  opacity: 1;
  transition: none !important;

  /* чтобы клавиатура не “съедала” низ */
  max-height: calc(100dvh - 24px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* fallback если dvh нет */
@supports not (height: 100dvh){
  .soud-entry-modal__dialog{
    max-height: calc(100vh - 24px);
  }
}

/* инпуты: стабильные метрики для iOS */
.soud-entry-modal__input{
  height: auto !important;
  min-height: 52px;
  padding: 14px 14px;
  font-size: 16px;
  line-height: 24px;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}

/* мобильная подстройка */
@media (max-width: 767px){
  .soud-entry-modal__dialog{
    width: calc(100vw - 20px);
    border-radius: 18px;
    padding: 20px 16px 16px;
  }
  .soud-entry-modal__input{
    min-height: 54px;
    padding: 15px 14px;
  }
}

/* ======================
   Checkbox: видимый на iOS
   (делаем кастомный)
   ====================== */
.form-consent{ margin-top: 14px; }

.consent-label{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  user-select: none;
}

/* прячем системный вид */
.consent-label input[type="checkbox"]{
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  flex-shrink: 0;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(0,0,0,.30);
  position: relative;
  outline: none;
}

/* галка */
.consent-label input[type="checkbox"]::after{
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 6px;
  height: 12px;
  border-right: 2px solid rgba(255,255,255,.92);
  border-bottom: 2px solid rgba(255,255,255,.92);
  transform: rotate(45deg);
  opacity: 0;
}

.consent-label input[type="checkbox"]:checked{
  border-color: rgba(255,255,255,.55);
  background: rgba(255,255,255,.10);
}
.consent-label input[type="checkbox"]:checked::after{
  opacity: 1;
}

.consent-text{
  font-size: 13px;
  line-height: 18px;
  color: #9aa1af;
}
.consent-text a{
  color: rgba(255,255,255,.88);
  text-decoration: underline;
}
/* ========== YOU-WANT: right image like "disciplina" (no frame) ========== */
#you-want .soud-media{
  height:100%;
  min-height:320px;          /* чтобы колонка не схлопывалась */
  border-radius:16px;
  overflow:hidden;
  background:transparent;
}

#you-want .soud-media__img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1.01);
  transition:transform .5s ease;
}

#you-want .soud-media:hover .soud-media__img{
  transform:scale(1.05);
}

/* desktop: keep equal height for image too */
@media (min-width:992px){
  #you-want .soud-media{ width:100%; }
}

/* mobile: комфортная высота картинки */
@media (max-width:991px){
  #you-want .soud-media{
    min-height:240px;
    margin-top:14px;
  }
}
/* ========== MEMBERS: image (no crop, premium, hover) ========== */
#members .soud-media--members{
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
}

/* Важно: НЕ режем изображение — сохраняем оригинальные пропорции */
#members .soud-media--members .soud-media__img{
  width: 100%;
  height: auto;            /* ключевое */
  display: block;
  object-fit: contain;     /* страховка (на случай если где-то переопределено) */
  transform: scale(1.001);
  transition: transform .5s ease;
}

#members .soud-media--members:hover .soud-media__img{
  transform: scale(1.03);
}

/* Жирный текст в конце левого блока */
#members .soud-members-strong{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #eceff3;
  font-weight: 800;
  font-size: 18px;
  line-height: 1.35;
  color: #111;
}

/* Плашки в правом нижнем блоке: аккуратные отступы */
#members .soud-members-bottom .soud-tile{
  height: 100%;
  margin-top: 12px;
}

@media (max-width: 991px){
  #members .soud-members-bottom .col-md-7{
    display: none;
  }
  #members .soud-media--members{
    margin-top: 14px;
  }
}
/* ========== MEMBERS: align image with text (vertical center) ========== */
@media (min-width: 992px){
  #members .soud-members-top{
    display: flex;
    align-items: center;     /* вертикальное центрирование */
    flex-wrap: nowrap;
  }
  #members .soud-members-top > [class*="col-"]{
    float: none !important;  /* bootstrap3 float -> off внутри flex */
  }
}

/* ========== MEMBERS: image tile (NO empty white bottom, no crop) ========== */
#members .soud-media--members{
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
  line-height: 0;      /* чтобы не было “щели” под img */
  min-height: 0;       /* важно: убираем пустой низ */
  height: auto;        /* важно */
}

/* НЕ режем изображение, сохраняем оригинальные пропорции */
#members .soud-media--members .soud-media__img{
  width: 100%;
  height: auto !important;     /* важно */
  display: block;
  object-fit: contain !important;
  transform: scale(1.001);
  transition: transform .5s ease;
}

#members .soud-media--members:hover .soud-media__img{
  transform: scale(1.03);
}

/* ========== MEMBERS: 4 tiles bottom, equal height, flexible width ========== */
#members .soud-members-tiles{
  margin-top: 16px;
}

#members .soud-tiles-flex{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch; /* одинаковая высота */
}

/* ширина может “гулять”: все тянутся, но не меньше базовой */
#members .soud-tiles-flex .soud-tile{
  flex: 1 1 240px;      /* ширина может различаться, высота одинаковая */
  margin: 0;            /* если где-то были margin-top у tile */
  height: 100%;
}

/* на очень узких — по 1 в ряд */
@media (max-width: 575px){
  #members .soud-tiles-flex .soud-tile{
    flex-basis: 100%;
  }
}
#members .soud-tiles-flex .soud-tile{
  min-height: 140px;     /* подобрано под первые 3 плашки */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* чуть меньше на мобилке */
@media (max-width: 575px){
  #members .soud-tiles-flex .soud-tile{
    min-height: 120px;
  }
}